package com.xbongbong.pro.enums;

import com.xbongbong.i18n.util.I18nMessageUtil;
import lombok.Getter;

/**
 * @description: 应用模板套餐类型
 * TODO 后期可考虑与套餐系统合并
 * @Author: hongxiao
 * @date: 2019-03-02 21:19
 * @since v1.0
 */
@Getter
public enum AppModuleFeeTypeEnum {
    /**
     * 应用模板套餐类型：1免费，2预充值，3付费
     */
    FEE(1, ""),
    PRECHARGE(2, "enum.appModuleFeeType.name.precharge"),


    PAY(3, "enum.appModuleFeeType.name.pay"),


    UNKNOWN(404, "enum.appModuleFeeType.name.unknown"),
    ;

    /**
     * 应用模板套餐类型
     */
    private int code;
    /**
     * 应用模板套餐类型名称
     */
    private String name;

    AppModuleFeeTypeEnum(int code, String name) {
        this.code = code;
        this.name = name;
    }
    public static AppModuleFeeTypeEnum getByCode(Integer code) {
        if(code == null) {
            return UNKNOWN;
        }
        for (AppModuleFeeTypeEnum cacheCode : values()) {
            if (code.equals(cacheCode.getCode())) {
                return cacheCode;
            }
        }
        return UNKNOWN;
    }
    public String getName() {
        return I18nMessageUtil.getMessage(name);
    }
}
